1. Field
This disclosure relates generally to data processing systems, and more specifically, to utilization of a store buffer for error recovery on a store allocation cache miss.
2. Related Art
In many data processing systems today, when write allocation is supported in a cache for copyback stores, on a cache miss for the store, the store data is placed in a linefill buffer and a fetch is initiated for the line of data for the cache to be merged with the store data, and the cache is then updated with the newly modified cache line. The store data is not written to memory. If an error occurs when fetching the cache line due, for example, to a system error or an uncorrectable memory error from the memory providing the cache line, the line in the linefill buffer cannot be validated and placed in the cache, and the store data from the original store and any subsequent stores to the same line which were temporarily stored into the linefill buffer awaiting a return from memory of the original cache line can be lost. Since, in these systems, there is no easy recovery possible, these errors may result is substantial performance hits.